package j2024.j202412;

public class j1209 {
    /**
     * 42. 接雨水
     * 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图，计算按此排列的柱子，下雨之后能接多少雨水。
     * @param height
     * @return
     */
    public int trap(int[] height) {
        int n = height.length;
        int left = 0,right = n-1;
        int lmax=0,rmax=0;
        int ret = 0;
        while(left<right){
            lmax = Math.max(lmax,height[left]);
            rmax = Math.max(rmax,height[right]);
            if(height[left]<height[right]){
                ret+=lmax-height[left];
            }else {
                ret+=rmax-height[right];
            }
        }
        return ret;
    }
}
